import nodemailer from 'nodemailer';
import dotenv from 'dotenv';

// 根据环境加载配置
const env = process.env.NODE_ENV || 'development';
dotenv.config({ path: `.env.${env}` });

// 创建邮件传输对象
const transporter = nodemailer.createTransport({
  host: process.env.SMTP_HOST,
  port: process.env.SMTP_PORT,
  secure: true,
  auth: {
    user: process.env.SMTP_USER,
    pass: process.env.SMTP_PASS
  }
});

/**
 * 发送验证码邮件
 * @param {string} to - 收件人邮箱
 * @param {string} code - 验证码
 * @returns {Promise} 发送结果
 */
export async function sendVerificationCode(to, code) {
  const mailOptions = {
    from: `"Wowza App" <${process.env.SMTP_USER}>`,
    to,
    subject: 'Wowza App 验证码',
    html: `
      <div style="max-width: 600px; margin: 0 auto; padding: 20px; font-family: Arial, sans-serif;">
        <h2 style="color: #333; text-align: center;">Wowza App 验证码</h2>
        <div style="background-color: #f5f5f5; padding: 20px; border-radius: 5px; margin: 20px 0;">
          <p style="font-size: 16px; color: #666; margin-bottom: 20px;">
            您的验证码是：
          </p>
          <p style="font-size: 24px; font-weight: bold; color: #333; text-align: center; margin: 20px 0;">
            ${code}
          </p>
          <p style="font-size: 14px; color: #999; margin-top: 20px;">
            验证码有效期为5分钟，请尽快使用。如非本人操作，请忽略此邮件。
          </p>
        </div>
        <p style="font-size: 12px; color: #999; text-align: center; margin-top: 20px;">
          这是一封自动发送的邮件，请勿直接回复。
        </p>
      </div>
    `
  };

  try {
    await transporter.sendMail(mailOptions);
    return true;
  } catch (error) {
    console.error('发送验证码邮件失败:', error);
    return false;
  }
}
